package com.kang.service.impl;

import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.kang.dao.UserMapper;
import com.kang.dao.User_roleMapper;
import com.kang.pojo.RoleUser;
import com.kang.pojo.User;
import com.kang.pojo.User_role;
import com.kang.service.UserService;
import com.vonechina.entity.page.UserPage;

/**
 * 用户管理服务Impl
 * 
 * @author ysq
 *
 */
@Service("UserService")
public class UserServiceImpl implements UserService {
	/**
	 * 用户UserMapper
	 */
	@Resource
	private UserMapper user;
	/**
	 * 用户-权限User_roleMapper
	 */
	@Resource
	private User_roleMapper urs;

	/**
	 * 根据accountName账号password密码查询user用户
	 */
	@Override
	public User selUser(Map<String, Object> map) {

		return user.selUser(map);
	}

	/**
	 * 根据loginname用户名查询user是否有相同的用户，返回数量
	 */
	@Override
	public int selUserByLoginName(String loginname) {

		return user.selUserByLoginName(loginname);
	}

	/**
	 * 根据UserPage条件查询user用户数据List
	 */
	@Override
	public List<RoleUser> selstcUser(UserPage userPage) {
		// 查询总条数
		userPage.setRows(user.selstcUsercount(userPage));
		return user.selstcUser(userPage);
	}

	/**
	 * 添加用户user
	 */
	@Override
	public int adduser(User user) {

		return this.user.insertSelective(user);
	}

	/**
	 * 根据用户userID删除user用户
	 */
	@Override
	public int delectuser(Integer id) {

		return this.user.deleteByPrimaryKey(id);
	}

	/**
	 * 根据userID修改用户user信息
	 */
	@Override
	public int updateuser(User user) {

		return this.user.updateByPrimaryKeySelective(user);
	}

	/**
	 * 设置添加用户-权限user_role
	 */
	@Override
	public int insert(User_role ur) {

		return urs.insertSelective(ur);
	}

	/**
	 * 根据用户userID查询出用户user信息和关联的角色信息-用于修改编辑用户
	 */
	@Override
	public List<Map<?, ?>> getUserById(String id) {
		return user.getUserById(id);
	}

	/**
	 * 通过邮轮和部门查询用户
	 */
	@Override
	public List<User> listUserByCuirseAndOrg(Integer cruiseID,
			Integer organizationID) {
		return user.listUserByCuirseAndOrg(cruiseID, organizationID);
	}

	/**
	 * 根据accountName登录账户查询user是否有相同的用户，返回数量
	 */
	@Override
	public int selUserByAccountName(String accountName) {

		return user.selUserByAccountName(accountName);
	}

	/**
	 * 根据userID删除角色-权限user_role
	 */
	@Override
	public int deleteByuserID(Integer id) {
		return urs.deleteByuserID(id);
	}

	/**
	 * 根据userID修改user用户密码
	 */
	@Override
	public int updateUserPwd(Integer userID, String paw1) {
		return user.updateUserPwd(userID, paw1);
	}

}
